#pragma once 

#include "corebase_global.h"
#include <QtXml/QtXml>
#include <osg\Referenced>

namespace CoreBase
{
	class Map;
	class ActorBase;
	class ActorProperty;
	class ActorFactory;

	class COREBASE_EXPORT MapXML:public osg::Referenced
	{
	public:
		MapXML();
		bool openXMLFile(const QString& path, Map* map);
		bool saveXMLFile(const QString& path, Map* map);
		virtual ActorFactory* getActorFactory() = 0;
	protected:
		virtual ~MapXML();
		Map*							_currentOperatorMap;
		ActorFactory*					_actorFactory;
	};
}